package com.yourenbang.lingyun.transaction.web.service.pay.withdraw;

import com.yourenbang.lingyun.core.message.Result;
import com.yourenbang.transaction.api.model.dto.pay.WithDrawParamsDTO;
import com.yourenbang.transaction.api.model.dto.pay.WithDrawVO;

import java.util.Map;

/**
 * 提现
 */
public interface WithdrawService {

    /**
     * 提现
     * @param withDrawParamsDTO 提现参数
     */
    Result<WithDrawVO> withdrawV2(WithDrawParamsDTO withDrawParamsDTO);


    /**
     * 提现回调（post请求,参数放body）
     * @param withdrawPayType 提现支付类型
     * @param param body参数
     */
    boolean fundPayNoticeBody(String withdrawPayType, String param);

    /**
     * 提现回调（post请求）
     * @param withdrawPayType 提现支付类型
     * @param paramMap param参数
     */
    void fundPayNoticeParam(String withdrawPayType, Map<String, String> paramMap);


    void withdrawSign(String param);

    /**
     * 生成福穗灵工的证据文件
     * @param orderNo 提现订单号
     */
    void getFuSuiOrderEvidence(String orderNo);
}
